Skip to content

Add Vaikora AI Agent Signals to SentinelOne — Microsoft Sentinel Solution v1.0.0#13985

Open
mazamizo21 wants to merge 52 commits intoAzure:masterfrom
mazamizo21:feature/vaikora-sentinelone-azure-v1.0.0
Open

Add Vaikora AI Agent Signals to SentinelOne — Microsoft Sentinel Solution v1.0.0#13985
mazamizo21 wants to merge 52 commits intoAzure:masterfrom
mazamizo21:feature/vaikora-sentinelone-azure-v1.0.0

Conversation

@mazamizo21
Copy link
Copy Markdown
Contributor

Vaikora AI Agent Signals to SentinelOne — Microsoft Sentinel Solution v1.0.0

This PR adds a Logic App playbook solution that polls Vaikora AI agent behavioral signals and pushes high-severity indicators as Threat Intelligence IOCs to SentinelOne.

What's included

Logic App Playbook (VaikoraToSentinelOne_Playbook.json)

  • Runs on a configurable schedule (default: every 6 hours)
  • Polls Vaikora GET /api/v1/actions for high-risk + anomalous agent actions
  • Authenticates to SentinelOne via API Token header
  • Pushes IOC indicators to POST /web/api/v2.1/threat-intelligence/iocs

Signal Mapping

  • risk_score 75-89 → S1 severity: 5 (high)
  • risk_score 90+ → S1 severity: 7 (critical)
  • is_anomaly: true → description includes anomaly reason
  • threat_detected: true → externalId tagged with threat indicator

Parameters

  • VaikoraApiKey (securestring)
  • VaikoraAgentId
  • SentinelOne_ApiToken (securestring)
  • SentinelOne_BaseUrl (e.g. https://usea1.sentinelone.net)
  • SentinelOne_AccountId

Notes

  • Requires filter.accountIds in POST body (S1 enforcement requirement)
  • IOC type set to IPV4/IPV6 based on Vaikora signal indicators
  • expirationMode: 90 days from signal detection

Publisher

Data443 Risk Mitigation, Inc. — support@data443.com

@mazamizo21 mazamizo21 requested review from a team as code owners April 3, 2026 06:55
@v-shukore v-shukore self-assigned this Apr 3, 2026
@v-shukore v-shukore added the New Solution For new Solutions which are new to Microsoft Sentinel label Apr 3, 2026
@mazamizo21 mazamizo21 force-pushed the feature/vaikora-sentinelone-azure-v1.0.0 branch from d91b17d to f3ea143 Compare April 3, 2026 14:59
@mazamizo21
Copy link
Copy Markdown
Contributor Author

Hi @v-maheshbh — done! Repackaged with version 3.0.0. Package/3.0.0.zip is now included. Thanks!

Taz Jack added 5 commits April 3, 2026 12:13
…ntId1), parentId bracket, arm-ttk clean (47-48/49 matching Cyren baseline)
…ated response

Vaikora API returns a paginated envelope: {"actions": [...], "total": N, ...}
not a bare array. Filter_High_Severity_Or_Anomaly was passing the whole object
to the 'from' property, which expects an array and failed with:
"The 'from' property value in the 'query' action is of type 'Object'."

Fix: changed 'from' to @Body('Get_Vaikora_Actions')?['actions']

Also fixes in same pass:
- Added workspace-name variable (was missing, caused template ref errors)
- playbookContentId1: "Playbooks" -> "VaikoraToSentinelOne_Playbook"
- PlaybookName defaultValue: "pb-vaikora-to-sentinelone" -> "VaikoraToSentinelOne_Playbook"
- Parameter casing: VaikoraApiKey/VaikoraAgentId -> vaikoraApiKey/vaikoraAgentId
- displayName: "Playbooks" -> "VaikoraToSentinelOne_Playbook"
- Rebuilt 3.0.0.zip

E2E tested: Logic App deployed to rg-vaikora-test, triggered, 6 anomaly IOCs
pushed to SentinelOne TI API (source: "Vaikora AI Agent Security (Data443)")
@v-shukore
Copy link
Copy Markdown
Contributor

Hi @mazamizo21, accidently you have added multiple solutions in this PR please remove it all and clean the solution. Thanks!

mazamizo21 and others added 27 commits April 6, 2026 06:39
Reverted to merge base state and removed 3.0.1.zip.
- ReleaseNotes.md: standard table format with DD-MM-YYYY dates
- SolutionMetadata.json: remove empty verticals array
@mazamizo21
Copy link
Copy Markdown
Contributor Author

Hi @v-shukore — cleaned up the PR:

  • Removed Cyren-SentinelOne-ThreatIntelligence files that were accidentally included
  • PR now only contains the Vaikora-SentinelOne-ThreatIntelligence solution (v3.0.0)
  • Fixed ReleaseNotes.md to standard table format with DD-MM-YYYY dates
  • Removed empty verticals array from SolutionMetadata.json

Ready for re-review.

@v-maheshbh v-maheshbh requested a review from Copilot April 8, 2026 11:45
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds a new Microsoft Sentinel solution that deploys a Logic App playbook to poll Vaikora agent actions and push mapped indicators into SentinelOne Threat Intelligence.

Changes:

  • Added solution packaging metadata (SolutionMetadata, Solution_*.json) and initial Release Notes/README.
  • Added a Logic App playbook ARM template that polls Vaikora and posts IOCs to SentinelOne.
  • Added Content Hub packaging templates under Package/ (skipped from review per repo guidelines).

Reviewed changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
Solutions/Vaikora-SentinelOne-ThreatIntelligence/SolutionMetadata.json Defines offer/publisher metadata, categories, and support info for the solution.
Solutions/Vaikora-SentinelOne-ThreatIntelligence/ReleaseNotes.md Adds initial release notes entry for the solution version.
Solutions/Vaikora-SentinelOne-ThreatIntelligence/README.md Documents solution behavior, mapping, parameters, and deployment steps.
Solutions/Vaikora-SentinelOne-ThreatIntelligence/Playbooks/VaikoraToSentinelOne_Playbook.json Implements the scheduled Vaikora poll + SentinelOne IOC push workflow.
Solutions/Vaikora-SentinelOne-ThreatIntelligence/Package/mainTemplate.json Skipped from review (ignored path per repo guidelines).
Solutions/Vaikora-SentinelOne-ThreatIntelligence/Package/createUiDefinition.json Skipped from review (ignored path per repo guidelines).
Solutions/Vaikora-SentinelOne-ThreatIntelligence/Data/Solution_VaikoraSentinelOne.json Declares solution composition (playbooks), versioning, and required solution metadata.

Comment on lines +1 to +3
| **Version** | **Date Modified (DD-MM-YYYY)** | **Change History** |
|---|---|---|
| 3.0.0 | 02-04-2026 | Initial release. Polls Vaikora AI Agent Security API every 6 hours for high-severity and anomaly actions, pushes IOCs to SentinelOne Threat Intelligence API. SHA256 IOC type from log_hash, risk score severity mapping (0-100 to SentinelOne 2-7), STAR rule auto-creation, Content Hub ready. |
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ReleaseNotes.md table rows start with a double pipe (||), which adds an extra empty column and violates the required 3-column structure. Remove the extra leading | so each row begins with a single pipe and the table has exactly 3 columns.

Copilot uses AI. Check for mistakes.
@@ -0,0 +1,3 @@
| **Version** | **Date Modified (DD-MM-YYYY)** | **Change History** |
|---|---|---|
| 3.0.0 | 02-04-2026 | Initial release. Polls Vaikora AI Agent Security API every 6 hours for high-severity and anomaly actions, pushes IOCs to SentinelOne Threat Intelligence API. SHA256 IOC type from log_hash, risk score severity mapping (0-100 to SentinelOne 2-7), STAR rule auto-creation, Content Hub ready. |
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR title/description states “Microsoft Sentinel Solution v1.0.0”, but the Release Notes introduce version 3.0.0. Either update the PR title/description to match 3.0.0, or change the solution/release notes versions to 1.0.0 so they’re consistent.

Copilot uses AI. Check for mistakes.
@@ -0,0 +1,14 @@
{
"Name": "Vaikora-SentinelOne-ThreatIntelligence",
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Name field must contain only alphanumeric characters and spaces. Update this to a display name like Vaikora SentinelOne Threat Intelligence (and keep the folder name independent if needed).

Copilot generated this review using guidance from repository custom instructions.
"Name": "Vaikora-SentinelOne-ThreatIntelligence",
"Author": "Data443 Risk Mitigation, Inc. - support@data443.com",
"Logo": "<img src=\"https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Workbooks/Images/Logos/data443_logo.svg\" width=\"75px\" height=\"75px\">",
"Description": "The Vaikora SentinelOne Threat Intelligence solution polls the Vaikora AI Agent Security API for high-severity and anomaly actions and pushes indicators of compromise (IOCs) to SentinelOne's Threat Intelligence API for automated detection and response.",
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The solution Description does not follow the required “Underlying Microsoft Technologies used” structure (including dependency/cost/preview disclaimers where applicable). Please expand this description to meet the Solution data file description requirements.

Suggested change
"Description": "The Vaikora SentinelOne Threat Intelligence solution polls the Vaikora AI Agent Security API for high-severity and anomaly actions and pushes indicators of compromise (IOCs) to SentinelOne's Threat Intelligence API for automated detection and response.",
"Description": "The Vaikora SentinelOne Threat Intelligence solution for Microsoft Sentinel polls the Vaikora AI Agent Security API for high-severity and anomaly actions and pushes indicators of compromise (IOCs) to SentinelOne's Threat Intelligence API for automated detection and response.\n\n**Underlying Microsoft Technologies used:**\n\nThis solution takes a dependency on the following technologies, and some of these dependencies either may be in [Preview](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) state or might result in additional ingestion or operational costs:\n\na. [Microsoft Sentinel Playbooks](https://learn.microsoft.com/azure/sentinel/automation/playbooks)\n\nb. [Azure Logic Apps](https://learn.microsoft.com/azure/logic-apps/logic-apps-overview)",

Copilot uses AI. Check for mistakes.
Comment on lines +12 to +13
"TemplateSpec": true,
"Is1Pconnector": false
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For solution data files, version 3.*.* must have "TemplateSpec": false. Also, the field name must be exactly "Is1PConnector" (capital “C”)—"Is1Pconnector" may be ignored by tooling. Set TemplateSpec to false and correct the property name to Is1PConnector.

Suggested change
"TemplateSpec": true,
"Is1Pconnector": false
"TemplateSpec": false,
"Is1PConnector": false

Copilot uses AI. Check for mistakes.
@@ -0,0 +1,20 @@
{
"publisherId": "data443riskmitigationinc1761580347231",
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

publisherId format is valid, but it is not one of the commonly approved IDs (azuresentinel, microsoftsentinelcommunity). If this is intended as a custom publisher ID, it typically needs prior approval/registration; otherwise solution ingestion/validation may fail. Consider using an approved publisher ID or confirm the custom ID is pre-approved.

Suggested change
"publisherId": "data443riskmitigationinc1761580347231",
"publisherId": "microsoftsentinelcommunity",

Copilot uses AI. Check for mistakes.
]
},
"inputs": {
"from": "@body('Get_Vaikora_Actions')",
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Query action’s from must be an array. As written, @body('Get_Vaikora_Actions') is likely an object (common pattern is { actions: [...] }), which will cause the filter to fail at runtime. Update from to target the actions array (for example, @body('Get_Vaikora_Actions')?['actions']) to match the expected API shape.

Suggested change
"from": "@body('Get_Vaikora_Actions')",
"from": "@body('Get_Vaikora_Actions')?['actions']",

Copilot uses AI. Check for mistakes.
"location": "[parameters('location')]",
"tags": {
"hidden-SentinelTemplateName": "VaikoraToSentinelOne",
"hidden-SentinelTemplateVersion": "1.0.0",
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The playbook’s hidden-SentinelTemplateVersion is 1.0.0, while the solution/release notes are using 3.0.0. This mismatch can make troubleshooting and version tracking difficult in Sentinel. Align the playbook tag version with the solution/package version you intend to ship.

Suggested change
"hidden-SentinelTemplateVersion": "1.0.0",
"hidden-SentinelTemplateVersion": "3.0.0",

Copilot uses AI. Check for mistakes.
Comment on lines +22 to +26
| `log_hash` | `value` | Falls back to `agent_id + action_type` |
| (fixed) | `type` | SHA256 |
| (fixed) | `source` | Vaikora AI Agent Security (Data443) |
| (fixed) | `method` | EQUALS |
| `risk_score` | `severity` | 0-30→2, 31-50→3, 51-70→4, 71-85→5, 86-95→6, 96-100→7 |
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR description states IOC type is IPV4/IPV6 and a different severity mapping (75–89 → 5, 90+ → 7), but the README (and playbook) describe fixed SHA256 and a 6-band mapping with thresholds at 31/51/71/86/96. Update the PR description to match the implemented behavior, or adjust the implementation/docs to match the stated intent.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

New Solution For new Solutions which are new to Microsoft Sentinel

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants